~\\

\paragraph{Génération des données genbank}
~\\

Dans cette partie, il faut classer les données génétiques dans chaque dossier de la base de donnée locale, c'est à dire chaque fichier genbank correspondant. La solution consistant à faire une requête sur la base de donnée du NCBI pour remplir chaque répertoire de la base de donnée locale n'est
clairement pas la bonne solution étant donnée que cela implique un trop grand nombre de requêtes à faire au NCBI et que toutes les informations ont déjà été récupérées lors de la toute première requête (figure \ref{requete}). En effet on a vu que pour un noeud interne donné le genbank associé correspondait à l'union des genbank de ses fils, les feuilles de l'arbre correspondent à un fichier genbank avec une seule entrée. 
\\

Chaque partie du fichier genbank contient une clé unique qui correspond au numéro d'accession d'un génome dans la base de donnée du NCBI. La méthode pour générer les fichiers genbanks à chaque niveau
consiste donc à associer à chaque noeud de l'arbre ou dossier un ensemble d'identifiant de génome. 

L'idée est d'avoir un fichier avec le chemin des dossiers représentant les taxons dans la base de données locale suivi d'une liste d'accessions de génome. 
\\
\newpage
Ci dessous un exemple d'un tel fichier (figure \ref{resultatS}).

\begin{figure}[H]
\begin{center}
\begin{tabular}{*{2}{c}}
  tax1/tax2/.../taxonX : & accession\_1,...,accession\_N  \\
  tax1/tax2/.../taxonY : & accession\_1,...,accession\_M  \\
\end{tabular}
\caption{\label{resultatS} Exemple de fichier "chemin: liste d'accession"}
\end{center}
\end{figure}
~\\

Plus généralement, le chemin pour accéder à la liste d'accessions d'un taxon X peut être représenté par le chemin : taxon1/taxon2/.../taxonX. Où taxon1 et taxon2 représentent les ancêtres du taxonX et taxon1 représente la racine de l'arborescence.
\\

Cette tâche a été réalisée en même temps que la partie précédente, lors de la génération des dossiers (voir partie \ref{generation} et figure \ref{construction}). En effet lors de la création du
script pour la création des dossiers, on a aussi calculé l'ensemble des chemins des taxons de la base de donnée, il suffisait donc d'ajouter la liste d'accessions correspondante. Pour ce faire, on a utilisé une table de hachage avec comme couple clé-valeur : numéro d'accession et contenu du genbank associé.
\\

Ceci permet, après avoir lu le genbank contenant l'ensemble des données (voir partie \ref{requetesection}) récupéré lors de la première requête, de récupérer chaque partie associée à un unique numéro d'accession. 
\\

Enfin, il reste à générer les genbanks selon le fichier décrit précédemment (figure \ref{resultatS}).
\begin{figure}[H]
\begin{lstlisting}[numbers=left] 
      
      // Pour chaque dossier
      foreach $chemin @tableauCheminTaxons
      {
        //creation du fichier genbank
        open(fichier_sortie,'>',$chemin/genbank.gb);
        
        //Pour chaque accession du dossier courant
        foreach $accession @listeAccession[$chemin];
        {
          // on imprime dans le fichier la partie correspondante
          print fichier_sortie $tableHachage[$acc];
        }  
        close(...); 
      }                                              
\end{lstlisting}
\caption[Code Perl pour la génération des fichiers genbanks]{\label{genbank} Code Perl pour la génération des fichiers genbanks dans chaque répertoire de la base de donnée locale. Pour chaque chemin définit dans un fichier suivant la syntaxe décrite en figure \ref{resultatS} on créé un fichier genbank (vide au départ) et pour chaque accession du chemin courant (accession définit selon \ref{resultatS}) on récupère la partie du genbank correspondante.}
\end{figure}
~\\
